package com.evil.account.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.evil.account.pojo.entity.UserRole;
import com.evil.common.account.dto.role.RoleBaseRespDTO;
import com.evil.common.account.dto.user.UserEnterpriseDTO;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * 角色表
 *
 * @author liyang
 * @date 2022-08-08 00:00
 */
public interface UserRoleService extends IService<UserRole> {

    /**
     * 获取企业用户角色列表
     *
     * @param userEnterpriseDTO userEnterpriseDTO
     * @return UserRole 列表
     */
    List<UserRole> findByEnterpriseUser(UserEnterpriseDTO userEnterpriseDTO);

    /**
     * 用户角色基础信息
     *
     * @param userEnterpriseDTO userEnterpriseDTO
     * @return RoleBaseRespDTO 列表
     */
    List<RoleBaseRespDTO> userRoleBases(@Validated @RequestBody UserEnterpriseDTO userEnterpriseDTO);

    /**
     * 修改用户角色（覆盖性）
     *
     * @param enterpriseId enterpriseId
     * @param userId       userId
     * @param roleIds      roleIds
     */
    void modify(Long enterpriseId, Long userId, List<Long> roleIds);

}
